package com.example.interfaces;

import java.util.Arrays;
import java.util.Comparator;

/**
 * Comparable 和 Comparator
 * 1. 实现 Comparable 接口的类可以对一个对象数组进行排序，比如 String 类实现了 Comparable 接口，String.compareTo() 可以按照字典序排序
 * 2. 实现 Comparator 接口的类可以成为一个比较器对象，比较方法是 compare()，调用的主体是这个比较器对象
 * 可以通过给 Arrays.sort() 传入一个比较器对象，来实现自定义的比较方式
 */
public class ComparatorTest {
    public static void main(String[] args) {
        String s1 = "hello"     ;
        String s2 = "jack";
        String[] stringArray = {s2, s1};
        Arrays.sort(stringArray, new StringComparator());
        System.out.println(Arrays.toString(stringArray));
    }
}

class StringComparator implements Comparator<String> {
    @Override
    public int compare(String s, String t1) {
        return s.length() - t1.length();
    }
}
